const {
    // isMainThread,
    parentPort,
    workerData,
    // threadId,
    // MessageChannel,
    // MessagePort,
    // Worker
} = require('worker_threads');

// console.log("this is worker!");
// console.log(workerData);

function postToMain(params) {
    parentPort.postMessage(params);
}

function listenMainMsg(callback) {
    parentPort.on('message', msg => {
        // console.log(`worker receive ${msg}`);
        if (msg.cmd && msg.cmd==="close") {
            process.exit();
        } else if (callback) {
            callback(msg);
        }
    });
}

module.exports.postToMain = postToMain;
module.exports.listenMainMsg = listenMainMsg;
module.exports.workerData = workerData;

// listenMainMsg(function (msg) {
//     console.log(`worker receive ${msg}`);
//     msg += 100;
//     postToMain(msg);
// });